"""
Configuration Profiles

Manages different configuration profiles for various environments and use cases.
"""

from typing import Dict, Any
from dataclasses import dataclass


@dataclass
class ConfigProfile:
    """Configuration profile data class"""
    name: str
    description: str
    settings: Dict[str, Any]


class ProfileManager:
    """Manages configuration profiles"""
    
    def __init__(self):
        self.profiles = self._create_default_profiles()
    
    def _create_default_profiles(self) -> Dict[str, ConfigProfile]:
        """Create default configuration profiles"""
        return {
            "development": ConfigProfile(
                name="development",
                description="Development profile with verbose logging",
                settings={
                    "log_level": "DEBUG",
                    "max_workers": 2,
                    "backup_enabled": True,
                    "validate_syntax": True
                }
            ),
            "production": ConfigProfile(
                name="production", 
                description="Production profile optimized for performance",
                settings={
                    "log_level": "INFO",
                    "max_workers": 4,
                    "backup_enabled": True,
                    "validate_syntax": False
                }
            )
        }
    
    def get_profile(self, name: str) -> ConfigProfile:
        """Get configuration profile by name"""
        return self.profiles.get(name)